/**
 * 张楗博销售绩效功能js
 */
$(document).ready(function() {
	console.log("进来了么？？？");
	vm.Paging1(1);

})
var vm = new Vue({
	el : '#salesperf',
	data : {
		home : ''
	},
	methods : {
		Paging1 : function(currentPage) {
			var currentPage = currentPage;
			console.log("进来了么？？？？？？？？？？？" + currentPage);
			var _self = this;
			$.ajax({
				url : '../SalesPerf/findSalesPerf',
				type : 'post',
				dataType : 'json',
				data : {
					'currentPage' : currentPage
				},

				success : function(data) {
                   console.log("返回的数据是"+data);
					_self.home = data.extend.map.hsplist;
					console.log(_self.home);
					laypage({

						cont : $("#clear"), // 定义分页显示的容器
						pages : data.extend.map.totalPage, // 从后台查询得到总页数
						curr : currentPage,
						skin : 'molv',
						skip : true,
						last : '末页',
						groups : 3,
						jump : function(obj, first) {
							if (!first) {
								vm.Paging1(obj.curr);
							}
						}
					});
					// =====================截止
				}
			})// =====================ajax结束
		},
		findSalesPerf : function(currentPage, name) {
			console.log("========进入根据姓名添查询几下信息的ajax========");
			var _self = this;
			$.ajax({
				url : '../SalesPerf/findSalesPerfByName',
				type : 'post',
				dataType : 'json',
				data : {
					'currentPage' : currentPage,
					'name' : name,
				},
				success : function(data) {
					_self.home = data.extend.map.splist;
				    console.log("<><><><><><><>"+_self.home);
					laypage({
						cont : $("#clear"), // 定义分页显示的容器
						pages :data.extend.map.totalPage, // 从后台查询得到总页数
						curr : currentPage,
						skin : 'molv',
						skip : true,
						last : '末页',
						groups : 3,
						jump : function(obj, first) {
							console.log("========进的是这儿么??==========");

							if (!first) {
								vm.findSalesPerf(obj.curr, name);
							}
						}
					});
					// =====================截止
				}
			})// =====================ajax结束
		}// findSalesPreByMonth结束
	}

})

//根据员工的姓名查找该员工的绩效成绩
function findSalesPlanByName() {
	var name = $("#name").val();
	console.log("========"+name);
	vm.findSalesPerf(1, name);
}
//添加按钮中的减的操作  
 function reduce(){
	var perfGrade=$("#perfGrade").val();
	perfGrade=parseInt(perfGrade);
	if(perfGrade>1){
		perfGrade-=1;
		$("#perfGrade").attr("value",perfGrade);
	}else{
		perfGrade=1;
		$("#perfGrade").attr("value",perfGrade);
	}
}
//添加按钮中的加的操作                            
function plus(){
	var perfGrade=$("#perfGrade").val();
	perfGrade=parseInt(perfGrade);
	if(perfGrade<5){
		perfGrade+=1;
		$("#perfGrade").attr("value",perfGrade);
	}else{
		perfGrade=5;
		$("#perfGrade").attr("value",perfGrade);
	}
}
//修改模态框中的按钮中的减的操作  
function updatereduce(){
	console.log("减1喽----------------------1");
	
	var perfGrade=$("#perfGrade_update_input").val();
	perfGrade=parseInt(perfGrade);
	console.log("++++++++"+perfGrade);
	if(perfGrade>1){
		perfGrade-=1;
		console.log("++++++++"+perfGrade);
		$("#perfGrade_update_input").val(perfGrade);
	}else{
		perfGrade=1;
		$("#perfGrade_update_input").val(perfGrade);
	}
}
//添加按钮中的加的操作                            
function updateplus(){
	console.log("加1喽----------------------1");
	var perfGrade=$("#perfGrade_update_input").val();
	perfGrade=parseInt(perfGrade);
	console.log("++++++++"+perfGrade);
	if(perfGrade<5){
		perfGrade+=1;
		$("#perfGrade_update_input").val(perfGrade);
	}else{
		perfGrade=5;
		$("perfGrade_update_input").val(perfGrade);
	}
}
// 表单重置方法
function reset_form(ele) {
	// 清空表单数据
	$(ele)[0].reset();
	// 清空表单样式
	$(ele).find("*").removeClass("has-error has-success");
	// 清空表单提示信息：<span>的class为help-block
	$(ele).find(".help-block").text("");

}
//弹出保存数据的模态框,调用查询全体员工的名字和部门名称,放入下拉框
function saveSalesPref() {
	// 清除表单数据（表单完整重置（表单的数据，表单的样式））
	reset_form("#saveSalesPerfModal form");
	// s$("empAddModal form")[0].reset();
	/*这个方法中传入模态框,是因为在查出所有的select后,需要将返回的数据,添加到模态框中*/
	getEmpName("#saveSalesPerfModal select");
	// 弹出模态框
	$("#saveSalesPerfModal").modal({
		backdrop : "static"
	});
}
//查询全体工作人员,并写在下拉框中
function getEmpName(ele){
	$(ele).empty();
	$.ajax({
		url : "../SalesPerf/getEmpName",
		type : "post",
		dataType : "json",
		success : function(result) {
			$.each(result.extend.emplist,function(index,item){
				console.log("---------进来了么--------"+item.empId);
				var optionElei =  $("<option></option>").append(item.empRealName).attr({"value":item.empId,"deptId":item.deptId});
				optionElei.appendTo(ele);
			})	
			
			
		}
	})
}
//查询部门id查找部门名称,并写在输入框中  ,用于添加框中
function getDeptNameByIdSave(){
	console.log("============");
	var deptId=$("#name_save_select").find("option:selected").attr("deptId");
	console.log("............"+deptId);
	$.ajax({
		url:"../SalesPerf/getDeptNameById?deptId="+deptId,
		type:"post",
		dataType:"json",
		success:function(result){
			
			$("#dept_save_select").attr("value",result.extend.dept.deptName);
	       
		}
	});
}
//查询部门id查找部门名称,并写在输入框中  ,用于修改框中
//查询部门id查找部门名称,并写在输入框中  ,用于添加框中
function getDeptNameByIdUpdate(){
	var deptId=$("#name_update_select").find("option:selected").attr("deptId");
	$.ajax({
		url:"../SalesPerf/getDeptNameById?deptId="+deptId,
		type:"post",
		dataType:"json",
		success:function(result){
			
	        $("#dept_update_input").val(result.extend.dept.deptName);
		}
	});
}


// 方法1 添加销售计划模态框提交按钮的单击事件
$("#salespref_save_btn").click(
		
		function() {
			// 将模态框中填写的表单数据提交服务器进行保存
			// 发送ajax请求保存销售计划信息
			var empName= $("#name_save_select").find("option:selected").text();
			console.log(">>>>>>"+empName);
			$.ajax({
				url : "../SalesPerf/saveSalesPerf?empName="+empName,
				type : "post",
				data : $("#saveSalesPerfModal form").serialize(),
				dataType : "json",
				success : function(result) {
					// 判断状态码
					if (result.code == 100) {
						// 员工保存成功后需要做1、关闭模态框 2、到最后一页显示添加的信息
						$("#saveSalesPerfModal").modal("hide");
						vm.Paging1(1);
					} 
				}
			});
		})
// 方法2 点击修改得到此条数据信息,展示在模态框
$(document).on("click", ".edit_btn", function() {
	console.log("------------" + $(this).attr("update_id"));
	// 2、根据id查询绩效信息
	getSalesPerfById($(this).attr("update_id"));
	// 3  查出员工的姓名传入修改模态框
	getEmpName("#updateSalesPerfModal select");
	// 4、把编辑按钮得到的员工ID传递给模态框的更新按钮
	$("#salesperf_update_btn").attr("update_id", $(this).attr("update_id"));
	$("#updateSalesPerfModal").modal({
		backdrop : "static"
	})
})
/*
 * 根据id查询销售绩效的方法 这个函数是供修改页面使用的,修改页面时显示数据
 */
function getSalesPerfById(salesPerfId) {
	
	$.ajax({
				url : "../SalesPerf/getSalesPerfById/" + salesPerfId,
				type : "get",
				success : function(result) {
				
					var salesPerf = result.extend.hsp;
					$("#salesPerfCode_update_static").text(salesPerf.salesPerfCode);
					$("#name_update_select").val(salesPerf.name);
					$("#dept_update_input").val(salesPerf.dept);
					$("#perfGrade_update_input").val(salesPerf.perfGrade);
					$("#remarks_update_input").val(salesPerf.remarks);
				}
			});
}
// 方法3 员工更新单击事件
$("#salesperf_update_btn").click(function() {
	
	// 发送ajax请求更新员工信息
	$.ajax({
		url : "../SalesPerf/updateSalesPerfById?salesPerfId="+$(this).attr("update_id"),// ?????为什么不直接写SalesPlan/updateSalsPlanById
		type : "post",
		data : $("#updateSalesPerfModal form").serialize(),
		success : function(result) {
			// 1、返回成功关闭模态框
			$("#updateSalesPerfModal").modal("hide");

		},
		error : function(result) {
			alert("=======");
		}
	});
	vm.Paging1(1);
})

/*
 * 方法4: 根据id查询销售计划的方法 这个函数是供查看页面显示数据
 */
$(document).on(
		"click",
		".find_btn",
		function() {
			
			$.ajax({
				url : "../SalesPerf/getSalesPerfById/" + $(this).attr("find_id"),
				type : "get",
				success : function(result) {
					console.log("====================");
					var salesPerf= result.extend.hsp;
					console.log("=========salesPlan????"+salesPerf);
					$("#salesPerfCode_find_static").text(salesPerf.salesPerfCode);
					$("#name_find_static").text(salesPerf.name);
					$("#dept_find_static").text(salesPerf.dept);
					$("#perfGrade_find_static").text(salesPerf.perfGrade);
					$("#remarks_find_static").text(salesPerf.remarks);
				}
			});
			// 弹出模态框
			$("#findSalesPerfModal").modal({
				backdrop : "static"
			});
		})

// 方法5 单个删除绩效
$(document).on("click", ".delete_btn", function() {
	// 弹出是否确认删除对话框
	var salesPerfId = $(this).attr("delete_id");
	console.log("salesPerfId===" + salesPerfId);
	if (confirm("确认删除当前销售绩效吗？")) {
		// 确认，发送ajax请求
		$.ajax({
			url : "../SalesPerf/deleteSalesPerfById/" + salesPerfId,
			type : "DELETE",
			success : function(result) {
				
				// 提示删除结果
				alert(result.message);
				// console.log(result);
				vm.Paging1(1);
			}
		});
	}

})
/*
 * 下面是批量删除 第一步:完成全选 全部选的功能 第二步:
 * 
 */
// 完成全选全不选的功能
// 下边的checkbox与上边总的checkbox的checked属性一致
// checked属性为
$("#check_all").click(function() {
	// attr获取checked是undefined;
	// 我们这些dom原生的属性；attr获取自定义属性的值；
	// prop修改和读取dom原生属性的值
	$(".check_item").prop("checked", $(this).prop("checked"));
})
// 下边的checkbox全选时上边的checkbox的checked属性为true
$(document).on("click", ".check_item", function() {
	// 判断当前选中的元素有几个，如果为总元素的个数则总元素状态为true，否则为false
	// 当前为5个，为了页面的扩展性，此处判断不写为静态的值，而是动态判断
	var flag = $(".check_item:checked").length == $(".check_item").length;
	$("#check_all").prop("checked", flag);
})

// 方法6 批量删除
function deleteSalesPerf() {
	var attr = "";
	console.log("???????????");
	var salesPerfIds = $("input[name='ss']:checked").each(function(i) {
		attr += $(this).val() + ",";
	})
	console.log(attr);
	if (confirm("确定要删除选中的销售计划吗？")) {
		// 发送ajax请求
		$.ajax({
			url : "../SalesPerf/deleteBatchSalesPerf/" + attr,
			type : "DELETE",
			success : function(result) {
				alert(result.message);
				vm.Paging1(1);
				$("#check_all").prop("checked", false);
			}
		});
		}
}

